﻿/*
 ============== 创建名为TestSharedMemory共享内存 ============
 */

using System;
using System.IO.MemoryMappedFiles;

namespace ConsoleTest
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建一个名为TestSharedMemory的共享内存对象
            using (MemoryMappedFile mmf = MemoryMappedFile.CreateOrOpen("TestSharedMemory", 256))
            {
                // 获取共享内存的使用权限，并使用这个权限对象操作内存
                MemoryMappedViewAccessor memhandler = mmf.CreateViewAccessor(0, 256); 

                // 准备一个"Hello World"，放入内存中
                string str = "Hello World";
                byte[] data = System.Text.Encoding.Default.GetBytes(str);

                // 使用上面创建的权限，操作写入
                memhandler.WriteArray<byte>(0, data, 0, data.Length);

                // 阻塞主线程以便看到效果
                System.Threading.Thread.Sleep(100000);
            }
        }
    }
}
